Program Execution-Based Module Cohesion Measurement

نویسندگان

  • Neelam Gupta
  • Praveen R. Rao
چکیده

Module cohesion describes the degree to which di erent actions performed by a module contribute towards a uni ed function. High module cohesion is a desirable property of a program. The program modi cations during successive maintenance interventions can have negative e ect on the structure of the program resulting in less cohesive modules. Therefore, metrics that measure module cohesion are important for software restructuring during maintenance. The existing static slice based module cohesion metrics signi cantly overestimate cohesion due to the limitations of static slicing. In this paper, we present a novel program execution based approach to measure module cohesion of legacy software. We de ne cohesion metrics based on de nition-use pairs in the dynamic slices of the outputs. Our approach signi cantly improves the accuracy of cohesion measurement. We implemented our technique and measured module cohesion for several programs. Cohesion measurements using our technique were found to be more insightful than static slice based

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Improving the quality of software cohesion metrics through dynamic analysis

Class cohesion is an important object oriented software quality attribute. Assessing the class cohesion and improving the class quality accordingly during the object oriented design phase allows for cheaper management of the later phases. Most of the cohesion metrics planned in the journalism describes static cohesion measurement at design level. Static metrics is a measure that is applied at t...

متن کامل

Coupling and Cohesion

This research examines the structural complexity of software, and specifically the potential interaction of the two most important structural complexities: coupling and cohesion.Coupling and Cohesion are the two terms which very frequently occur together. Together they talk about the quality a module should have. Coupling talks about the interdependencies between the various modules while cohes...

متن کامل

Efficient Program Slicing Algorithms for Measuring Functional Cohesion and Parallelism

Program slicing is the task of finding all statements in a program that directly or indirectly influence the value of a variable occurrence. The set of statements that can affect the value of a variable at some point in a program is called a program slice. In several software engineering applications, such as program debugging and measuring program cohesion and parallelism, several slices are c...

متن کامل

Software similarity-based functional cohesion metric

Cohesion is an important factor used in evaluating software design quality and modularity. The cohesion of a module refers to the relatedness of the module components. In software engineering, highly cohesive modules are highly desirable due to their high reusability and maintainability. Cohesion is classified according to levels. Functional cohesion, the strongest level, refers to how closely ...

متن کامل

Effects of Software Changes on Module Cohesion

W e use program slices to model module cohesion. For our purposes, a slice is a projection of program text that includes only the data tokens relevant t o one output. W e define six cohesion metrics in terms of these slices, and evaluate the effects of classes of module changes on these metrics. W e find that the effects on cohesion metrics are notably more predictable when the changes result f...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001